package com.ruoyi.lxy.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 项目业务对象 t_project
 *
 * @author ruoyi
 * @date 2023-08-24
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class TProjectBo extends BaseEntity {

    /**
     * 项目表
     */
    @NotNull(message = "项目表不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 年份
     */
    @NotNull(message = "年份不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long year;

    /**
     * 项目名
     */
    @NotBlank(message = "项目名不能为空", groups = { AddGroup.class, EditGroup.class })
    private String name;

    /**
     * 描述
     */
    @NotBlank(message = "描述不能为空", groups = { AddGroup.class, EditGroup.class })
    private String content;

    /**
     * 报名开始时间
     */
    @NotNull(message = "报名开始时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date startTime;

    /**
     * 报名截止时间
     */
    @NotNull(message = "报名截止时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date endTime;

    /**
     * 补报开始时间
     */
    private Date reselectStart;

    /**
     * 补报截止时间
     */

    private Date reselectEnd;

    /**
     * 状态,0未开始，1进行中，2已结束
     * ID为状态码
     */
    private  Integer statusCode;

    // @NotNull(message = "状态,默认0,1不可用不能为空", groups = { AddGroup.class, EditGroup.class })
    private String status;

    /**
     * 携带家属人数上限
     */
    @NotNull(message = "携带家属人数上限不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long bringdepeMax;


}
